Some years ago, a young Steve Jobs, one of the cofounders of Apple Computer, visited a facility owned by Xerox Corp. known as PARC (Palo Alto Research Center) and observed an advanced engineering system developed by Xerox. The Xerox system included a graphical interface, icons and a pointing device with switches (well known today as a mouse). The Xerox system was not a commercial success, and largely disappeared. However, the exposure to that system lead Steve Jobs to return to Apple Computer and inspired the creation of the Macintosh GUI.
In the meantime, IBM personal computer (or more widely known as "IBM PC") users were relegated to the command line, text mode display of the then available DOS (Disk Operating System) originally developed for IBM by Microsoft Corporation. With the huge success of the Apple Macintosh computer, IBM PC software companies began a concerted effort to develop similar GUI products for the IBM compatible. Specifically, IBM again returned to Microsoft for software development and the result was the ill-fated OS/1 OS. Further efforts by the two superpowers of the PC world resulted in two well known GUI operating systems presently available for the IBM compatible and known in the trade as Windows.RTM. from Microsoft Corporation and OS/2.RTM. from IBM (it should be noted that OS/2.RTM. was initially developed under contract from IBM by Microsoft Corporation). It is estimated that Windows.RTM. Operating System version 3.1 has sold more than 60 million copies worldwide as of this date. The actual user base is more likely larger as a result of illegally installed copies of Windows.RTM..
One of the distinct advantages of a GUI operating system (hereinafter also referred to as "GUI") is a standardized graphical presentation of information and "controls" or user interface objects. Such graphical objects include sizable windows, menus, pushbuttons, scroll bars, checkboxes, radio buttons and the like. User input is received by a GUI program via menus, pushbuttons, list boxes, edit boxes, mouse "clicks" alone or coupled with the "Alt", "Shift" and "Ctrl" keys, keyboard commands and a variety of other techniques well known to those skilled in the art. Programs developed for GUI's have a more consistent appearance, and menu structures have advanced to the point where most software developers adhere to a fairly standard format for common menu command items such as FILE, EDIT, FORMAT, OPTIONS, HELP etc., thereby enabling the user to become more rapidly proficient in using a new GUI based program.
A distinct drawback to GUI based program development was the necessity for programmers to shift from program development wherein the program has exclusive access to the computer hardware to programming in a multi-tasking environment wherein direct access to the hardware is generally not allowed when following recommended programming techniques. I/O (Input/Output) to and from hardware devices is handled by the GUI OS via device drivers, and programs are "event driven" in that the OS sends a program a notification (or message) signaling the occurrence of an event (such as a user clicking the mouse) and the program must respond accordingly, or perhaps ignore the event if so desired.
Initially, developing a GUI based program was a fairly tedious task, and required specific attention to a multitude of details or events that might take place wherein a program must properly respond to the event yet share the resources of the computer with other programs executing in the GUI environment. Numerous trial and error attempts were required to properly layout the visual appearance of a GUI based program. Eventually, graphical user interface design tools or visual development programming tools evolved to simplify the programmers efforts in developing such software. Yet, the event driven model of GUI programming still required a great deal of knowledge with respect to the internal hardware components of the PC. Then came the Visual Basic.RTM. Programming System for Windows.RTM. (Visual Basic.RTM. and Windows.RTM. are registered trademarks of Microsoft Corporation) a program development system that operates in the Windows.RTM. operating system (hereinafter Windows.RTM. OS).
Visual Basic.RTM. (hereinafter VB) is a programming development system from Microsoft Corporation that has revolutionized the program development cycle for GUI based programs. Now in the third version, VB enables the development of very sophisticated programs in a relatively short time span. VB uses the Basic programming language, modified to accommodate the features of GUI programming and the underlying OS. One of the more radical advances provided by VB is the manner in which a programmer designs the visual objects and layout of the appearance of the program without having to execute the program. A programmer, in designing the visual interface of a GUI program with VB, merely selects a new object to be added to the program by moving the mouse pointer and clicking on that item with the mouse, then moves the mouse pointer over the "form" (a visual representation of a GUI window that will be displayed when the program is executed). Next, a click-drag mouse operation adds the object to the program window or form. User interface visual objects are referred to as "controls" in the VB programming environment, and such will be the terminology used throughout this document. A double-click on the control opens up a code window wherein code associated with the events to which the control responds can be inserted by the programmer. Further, VB is extensible in that third party software developers can develop "custom controls" that provide new functionality yet simplify the implementation of such new features or characteristics of the finished program.
Referring now to FIG. 1, a visual representation of the programming environment for VB 1 is shown. Window 10 is the main program window for VB which includes a user accessible menu 10a and a toolbar 10b with graphical pushbuttons 10c located thereon. A brief example of the steps required for adding a "pushbutton" control to a "form" using VB includes: (1) selecting the pushbutton control 11 from the control toolbox window 12 (a collection of icons representing the controls available to the programmer) by clicking on the visual representation of the pushbutton control, (2) click-drag on the form 13 to literally "paint" the control onto form 13, (3) moving the new pushbutton control 14 to the desired location on the form by clicking on the control and moving the mouse pointer to the new location then releasing the mouse button.
A new control may added to a form by simply double-clicking on the control in the toolbox window 12 and the control will be added to the currently active form 13 and positioned in the center of the form. Other techniques, such as copy and paste or cut and paste, may also be used to add a new control to a form.
After the programmer has added the new pushbutton control 14 to the currently visible form in the design environment of VB, the properties of the control must be set. Properties for a pushbutton control include those items listed in the properties window 15, which is a visual representation of the properties window for a pushbutton control. The properties window 15 includes three areas, the object box 15a, the settings box 15b and the properties list 15c. The object box 15a provides a means for selecting the object or control of interest. As shown in the object box 15a, the COMMAND1 CommandButton (or pushbutton) control 14 is currently selected, and its properties are accordingly listed in the properties list 15c.
Each object or control pictorially depicted via pushbuttons with icons in the toolbox 12 has its own unique list of properties that are defined via the properties window 15. As a programmer adds program objects or controls to the form 13, predefined default properties of the object are established automatically by VB and are also shown in the properties window 15. VB initializes the properties to predefined or default settings, yet it is most commonly the case that the default settings are not those desired by the programmer. Thus, as each object or control is added to form 13, the initial run-time properties for the object may be optionally altered by the programmer. Initial properties are those that are automatically activated upon initial execution of the program that includes form 13 and pushbutton 14. The process for changing the properties of a control includes selecting the control 14 so that its properties are visible in the properties window 15, selecting one of the properties in the list 15c, and entering the desired values in the settings box 15b. The settings box 15b is a drop-down list box with edit capabilities that enables selection of settings from a list and, alternatively, allows the programmer to type in the desired property settings using the keyboard. It becomes readily apparent that as the number of controls added to form 13 increases, the time and effort consumed to establish the properties of each control is magnified directly.
With the foregoing in mind, what is needed is a more convenient and time saving technique for establishing the properties of a control or graphical object that forms a part of a computer program designed and developed within a GUI environment software development system.